This application relates to a cache/disk subsystem for controlling the transfer of data between a host processor and a plurality of disk drive devices. As disclosed in the above-mentioned copending application Ser. No. 207,152, a basic cache/disk subsystem comprises a cache store, a disk drive device and a storage control unit for controlling the transfer of data between the cache store, the disk drive device and a host processor. The subsystem anticipates what disk addresses are the most likely to be accessed soon by the host and maintains the data from these disk addresses in the cache store. When a host wishes to access (read from or write to) a disk, it sends to the storage control unit a disk command including a disk space address which specifies the starting address and the number of words to be transferred. The storage control unit converts the disk space address to a cache store address and checks a segment descriptor table to see if the required disk data (i.e. the data from the disk space specified by the command address) is actually present in the cache store. If it is, the storage control unit causes the required disk data to be transferred between the host and the cache store and the disk is not accessed. Since the cache store can be accessed in a small fraction of the time it would take to position the head and read the required disk data from a disk, the provision of the cache store considerably reduces the average time required to access data on the disk.
If a host issues a READ or a WRITE command and the required disk data is not present in the cache store then it is obtained from the disk. In the case of a WRITE command, one or more segments of disk data are staged, i.e. transferred, from the disk to the cache store, after which this data is overlayed with the data from the host. The process of first staging the data from the disk to the cache store represents lost time if (1) the disk space being written to is being written to for the first time or (2) the disk space being written to comprises an integral number of data segments and begins and ends on a segment boundary. In the first case, there is no data to be overlayed after the staging operation and in the second case all of the data is written over after the staging operation. The present invention provides means for bypassing the staging operation for these two cases.